<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 数组的拓展方法 -> 官方给定的专门操作数组的方法 
    // 语法: 数组.方法()

    // 学习数组的方法
    // 1. 功能  -> 有什么用
    // 2. 返回值 -> 有什么结果
    // 3. 是否影响原数组 -> 有些方法直接操作原数组 有些方法返回新数组


    // reverse()  数组反转
    // 返回值: 反转后的原数组
    // 是否影响原数组: 影响

    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.reverse();
    // console.log("返回值", result);
    // console.log("原数组", list);


    // concat()  数组拼接 => 将多个数组或元素拼接得到一个新数组
    // a. 如果参数是一个数组 => 将数组中的每个元素放到新数组中
    // b. 如果参数不是数组 -> 直接将该元素放到新数组中

    // 返回值: 拼接后的新数组
    // 是否影响原数组: 不影响

    // var a = [1, 4, 7];
    // var b = [2, 5, 8];
    // var c = [3, 6, 9];

    // var result = a.concat(b, c); // 新建数组 将 a b c三个数组中的元素依次放到新数组中
    // var result = b.concat(c, a); // 新建数组 将 b c a三个数组中的元素依次放到新数组中
    // var result = a.concat("x", "y", "z", b, c); // 新建数组 将 b c a三个数组中的元素依次放到新数组中

    // console.log("返回值", result);
    // console.log("原数组", a, b, c);

    // 拓展用法:
    // 数组复制 => 得到一个与原数组元素相同的新数组
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.concat();  // 新建数组 将list中的元素依次放到新数组中
    // console.log("返回值", result);
    // console.log("原数组", list);



    // slice(startIndex,endIndex)  数组裁切 (从数组中截取指定下标范围内的元素,放到新数组)
    // [startIndex,endIndex)
    // startIndex  裁切的起始下标(默认:0)
    // endIndex    裁切的终止下标(默认:数组.length)

    // 返回值: 裁切后的元素形成的新数组
    // 是否影响原数组: 不影响
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // //                   3  4  5  6

    // var result = list.slice(3, 6);
    // console.log("返回值", result);
    // console.log("原数组", list);

    // 拓展用法
    // 数组复制 => 得到一个与原数组元素相同的新数组

    var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    var result = list.slice(); // list.slice(0,list.length)
    console.log("返回值", result);
    console.log("原数组", list);


    // for (var i = 0; i < list.length; i++) {

    // }

    // join()  同特定的字符 将数组中的每个元素拼接形成字符串

    var list = ["a", "b", "c", "d"];

    var res = list.join("-");
    var res = list.join("+");
    var res = list.join("/");
    var res = list.join(""); // "abcd"
    var res = list.join(); // 如果不传参 默认用逗号拼接
    console.log(res);

    // a-b-c-d-
    // var str = "";
    // for (var i = 0; i < list.length; i++) {
    //     var item = list[i];
    //     if (i == list.length - 1) {
    //         str += item;
    //     } else {
    //         str += item + "-";
    //     }
    // }
    // console.log(str);


</script>

</html>